package tr.edu.ege.kipler.satisfiability;

import java.util.HashSet;
import java.util.Set;

import tr.edu.ege.kipler.satisfiability.container.WorldConstraintSystem;

/**
 * An exception that is thrown when the reasoner detects a clash.
 * 
 * @author İnanç Seylan
 */
public class UnsatisfiableException extends ReasonerException {

	/**
	 * 
	 */
	private static final long serialVersionUID = 6253536012741853841L;

	private Set<WorldConstraintSystem> dependencySet = new HashSet<WorldConstraintSystem>();

	private String explanation;

	public UnsatisfiableException() {

	}

	public UnsatisfiableException(Set<WorldConstraintSystem> dependencySet,
			String explanation) {
		setDependencySet(dependencySet);
		setExplanation(explanation);
	}

	/**
	 * @return the dependencySet
	 */
	public Set<WorldConstraintSystem> getDependencySet() {
		return dependencySet;
	}

	/**
	 * @param dependencySet
	 *            the dependencySet to set
	 */
	public void setDependencySet(Set<WorldConstraintSystem> dependencySet) {
		this.dependencySet = dependencySet;
	}

	public String getExplanation() {
		return explanation;
	}

	public void setExplanation(String explanation) {
		this.explanation = explanation;
	}

}
